package com.jh.complicate.netty.buffer;

import java.nio.IntBuffer;

/**
 * @author Administrator
 * @projectName newforward
 * @title IntBufferDemo.java
 * @package com.jh.complicate.netty.buffer
 * @description Buffer使用demo
 * @date 2019/6/23 16:01
 */
public class IntBufferDemo {
    public static void main(String[] args) {
        // 分配缓冲区，参数为缓冲区容量
        // 缓冲区分配会将position置0，limit和capacity置为传入参数值，即10
        IntBuffer buffer = IntBuffer.allocate(10);

        for (int i = 0; i < buffer.capacity(); i++) {
            int j = 2 * (i + 1);
            // 将j初始化进去buffer里面
            // 每次put一个值，position会向前进1
            buffer.put(j);
        }

        // 锁定缓冲区
        // position置0，将limit设置为最后put的位置
        buffer.flip();

        while (buffer.hasRemaining()) {
            // 获取buffer的值
            // 每次get一次，会将position向前进1，知道和limit处于同一位置
            int j = buffer.get();
            System.out.print(j + " ");
        }
    }
}
